/*
* ============================================================================
* 功能描述 ：应用层配置
* 作者       ：ggls
* 创建日期 ：2024.04.10
* ----------------------------------------------------------------------------
* 更新历史 ：
*	日期 　　- 修改者   : 更新内容描述
*
* ============================================================================
*/

#ifndef __HLY_APP_H__
#define __HLY_APP_H__

#include "main.h"

#if 1

typedef struct 
{
	unsigned long			query_interval;		/*数据查询间隔*/
	unsigned long			time_val;
	unsigned long			last_query_time;	/*上一次查询数据时间*/
	unsigned long			last_up_time;		/*上一次上报数据时间*/
	unsigned long			wake_up_time;		/*上一次上报数据时间*/
	
	unsigned long			buzz_time;		/*开启蜂鸣器*/

	/*传感器数据*/
	s16		temp;			//*温度：摄氏度 
	s16		hum;			//*湿度：百分比 

	signed short int		last_temp;			//*温度：摄氏度对比
	unsigned short int		last_hum;			//*湿度：百分比对比


	unsigned short int		temp_interval;		/*温度上报间隔*/
	unsigned short int		humi_interval;		/*湿度上报间隔*/

	signed short int		upper_limit_temp;	// 温度上限
	signed short int		lower_limit_temp;	// 温度下限

	unsigned short int		upper_limit_hum;	// 湿度上限
	unsigned short int		lower_limit_hum;	// 湿度下限

	int8_t					temp_sensitivity;	// 温度灵敏度
	int8_t					humi_sensitivity;	// 湿度灵敏度
	char 					power_supply;		// 电源

	char 					temp_alarm;			// 温度报警
	char 					humi_alarm;			// 湿度报警

	u32			Acquisition_Time;	// 时间搓获取
}app_data_s;

#endif
/**
* @brief		日期结构体对象
*/
typedef struct {
    unsigned int hour;
    unsigned int min;
    unsigned int sec;
} date_time_t;



extern app_data_s app_data;
extern bit io_wk_up;
extern bit buzz_on;
extern char zigbee_Presence;

extern date_time_t data1;

#define         DP_TYPE_RAW                     0x00				 //RAW
#define         DP_TYPE_BOOL                    0x01	       //bool
#define         DP_TYPE_VALUE                   0x02	       //value
#define         DP_TYPE_STRING                  0x03				//string
#define         DP_TYPE_ENUM                    0x04				//enum 
#define         DP_TYPE_BITMAP                  0x05				//fault
#define         DP_TYPE_FAULT                   DP_TYPE_BITMAP   


#define cancel	0x00
#define loweralarm 0x01
#define upperalarm  0x02
void app_init(void);
void Hly_Temp_Hum_Updata(void);
void App_Run(void);
void Hly_button_Event(void);
void App_ZigbeeData_Receive_handle(unsigned char *f_data, char lenthg);
void _app_temp_unit(void);
void app_update_time(unsigned char *f_data, char lenthg);

void app_Temp_Hum_cj(void);



#endif

